package com.xinggq.auth.service.feign;

import com.xinggq.common.CommonResult;
import com.xinggq.user.api.dto.UserInfoDTO;
import com.xinggq.user.api.dto.VerifyPasswordRequest;
import com.xinggq.user.api.dto.VerifyPasswordResponse;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * 用户中心Feign客户端
 * 用于调用用户中心服务的接口
 *
 * @author xinggq
 * @since 2024-01-01
 */
@FeignClient(name = "user-center-service", path = "/user-center-service")
public interface UserCenterFeignClient {


  /**
   * 验证用户密码
   *
   * @param request 验证请求
   * @return 验证结果
   */
  @PostMapping("/api/user/auth/verify-password")
  CommonResult<VerifyPasswordResponse> verifyPassword(@RequestBody VerifyPasswordRequest request);

  /**
   * 根据用户ID获取用户信息
   *
   * @param userId 用户ID
   * @return 用户信息
   */
  @GetMapping("/api/user/info/{userId}")
  CommonResult<UserInfoDTO> getUserById(@PathVariable("userId") Long userId);
}